﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Provenance.Domain.Breed;
using Provenance.Domain.DeepProcess;
using Provenance.Domain.Product;
using Provenance.Domain.Slaughter;
using Provenance.Domain.User;

namespace Provenance.Infra
{
    public class ProvenanceDbContext : DbContext
    {
        public ProvenanceDbContext(DbContextOptions<ProvenanceDbContext> options) : base(options)
        {
        }
        public DbSet<Domain.Product.Product> Products { get; set; }
        public DbSet<ProductInfo> ProductInfo { get; set; }
        public DbSet<PictureInfo> PictureInfo { get; set; }
        public DbSet<BreedingInfo> BreedingInfo { get; set; }
        public DbSet<BreedHealth> BreedHealth { get; set; }
        public DbSet<BreedEnterprise> BreedEnterprise { get; set; }
        public DbSet<SlaughterInfo> SlaughterInfo { get; set; }
        public DbSet<SlaughterEnterprise> SlaughterEnterprises { get; set; }
        public DbSet<DeepProcessInfo> DeepProcessInfos { get; set; }
        public DbSet<DeepProcessEnterprise> DeepProcessEnterprise { get; set; }
        public DbSet<RowMaterial> RowMaterial { get; set; }
        public DbSet<AuxiliaryMaterial> AuxiliaryMaterial { get; set; }
        public DbSet<Additive> Additives { get; set; }
        public DbSet<PackagingMaterial> PackagingMaterials { get; set; }
        public DbSet<ProvenanceCode> ProvenanceCodes { get; set; }
        public DbSet<UserInfo> UserInfos { get; set; }
        public DbSet<Role> Roles { get; set; }
        public DbSet<UserRole> UserRoles { get; set; }
        public DbSet<Permission> Permissions { get; set; }
        public DbSet<RolePermission> RolePermissions { get; set; }
        public DbSet<SmsCode> SmsCodes { get; set; }
        public DbSet<ApiPermission> ApiPermissions { get; set; }
        public DbSet<RoleApiPermission> RoleApiPermissions { get; set; }
    }
}
